<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./OL_SDK/include-openlayers-local.js"></script>
    <script src="./libs/gaode.js"></script>
</head>

<body>
    <button onclick="addPoint()">添加点</button>
    <div id="map">
    </div>
    <script>
        var layer = new Zondy.Map.Doc("", 'xzd-plus', {

        })
        /* ol-Feature = style+geometry+attr */
        // var point = new ol.Feature({
        //     geometry: new ol.geom.Point([114.30, 30]),
        //     name: "武汉"
        // })
        var map = new ol.Map({
            target: "map",
            layers: [gaode, layer],
            view: new ol.View({
                projection: 'EPSG:4326',
                center: [114.30, 30.50],
                zoom: 4
            })
        })
        /* 需求向mapgis数据库添加要素 */
        /* 1、创建要素  new Zondy.Object.Feature = geometry+style+attr */
        /* 2、创建【要素集】添加要素 */
        /* 3、调用服务添加要素 */
        /* Feature-FeatureSet */
        function addPoint() {
            /* 1、创建要素
            geometry+style+属性信息(attr)
             */
            /* geometry */
            //创建一个点形状，描述点形状的几何信息
            var gpoint = new Zondy.Object.GPoint(120, 40);//createPoint();
            //设置当前点要素的几何信息
            var fGeom = new Zondy.Object.FeatureGeometry({ PntGeom: [gpoint] });
            /* style */
            var pointInfo = new Zondy.Object.CPointInfo({
                Angle: 0,
                Color: 11, //子图颜色
                Space: 0,
                SymHeight: 12,
                SymID: 3, //子图号
                SymWidth: 12
            });
            //设置当前点要素的图形参数信息
            var webGraphicInfo = new Zondy.Object.WebGraphicsInfo({
                /* 1--Point  2--LineString 3--Area */
                InfoType: 1,
                PntInfo: pointInfo
            });
            /* attr */
            //设置添加点要素的属性信息        
            var attValue = ['中国'];
            //创建一个要素
            var feature = new Zondy.Object.Feature({
                fGeom: fGeom,
                GraphicInfo: webGraphicInfo,
                AttValue: attValue
            });
            //设置要素为点要素
            feature.setFType(1);
            /* 2、构建要素集 --ol-source */
            var featureSet = new Zondy.Object.FeatureSet();
            //设置属性结构
            /* 要素集的字段名和字段类型要和mapgis图层映射 */
            var cAttStruct = new Zondy.Object.CAttStruct({
                FldName: ["name"],
                FldNumber: 1,
                FldType: ["string"]
            });
            featureSet.AttStruct = cAttStruct;
            //添加要素到要素数据集
            console.log(featureSet)
            featureSet.addFeature(feature);

            /* 3、调用服务,添加要素 */
            //创建一个编辑服务类
            /* 第一个参数是ig server服务的名称 */
            /* 第二个参数是图层所在的位置 下标从0开始 */
            var editService = new Zondy.Service.EditDocFeature(
                "xzd-plus", 0, {

            }
            );
            //执行添加点要素功能
            editService.add(featureSet, onPntSuccess);

        }
        //添加点要素回调函数
        function onPntSuccess(data) {
            if (data.succeed) {
                alert("添加点要素成功！");
                layer.refresh();
            } else {
                alert("添加点要素失败！");
            }
        }
    </script>
</body>

</html>